package com.neuedu.cockpit.mapper;

import com.neuedu.cockpit.domain.HmCarInfo;
import com.neuedu.common.core.mapper.BaseMapperX;

import java.util.List;

/**
 * 车辆管理信息Mapper接口
 *
 * @author neuedu
 * @date 2024-04-22
 */
public interface HmCarInfoMapper extends BaseMapperX<HmCarInfo> {
    /**
     * 查询车辆管理信息
     *
     * @param id 车辆管理信息主键
     * @return 车辆管理信息
     */
    public HmCarInfo selectHmCarInfoById(Long id);

    public HmCarInfo selectHmCarInfoByUserId(HmCarInfo hmCarInfo);

    public HmCarInfo selectInfoByUserId(Long userId);

    /**
     * 查询车辆管理信息列表
     *
     * @param hmCarInfo 车辆管理信息
     * @return 车辆管理信息集合
     */
    public List<HmCarInfo> selectHmCarInfoList(HmCarInfo hmCarInfo);

    public List<HmCarInfo> selectHmCarInfoListByVin(HmCarInfo hmCarInfo);
    /**
     * 新增车辆管理信息
     *
     * @param hmCarInfo 车辆管理信息
     * @return 结果
     */
    public int insertHmCarInfo(HmCarInfo hmCarInfo);

    /**
     * 修改车辆管理信息
     *
     * @param hmCarInfo 车辆管理信息
     * @return 结果
     */
    public int updateHmCarInfo(HmCarInfo hmCarInfo);

    public int updateHmCarVinAndUser(HmCarInfo hmCarInfo);

    public int clearCarUserId(Long id);

    /**
     * 删除车辆管理信息
     *
     * @param id 车辆管理信息主键
     * @return 结果
     */
    public int deleteHmCarInfoById(Long id);

    /**
     * 批量删除车辆管理信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteHmCarInfoByIds(Long[] ids);
}
